#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <QPushButton>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //点击按钮之后，创建一个消息对话框
    QPushButton *button=new QPushButton(this);
    button->setText("点击创建消息对话框");
    button->setGeometry(200,200,300,200);
    connect(button,&QPushButton::clicked,this,&MainWindow::handler);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::handler()
{
    //创建QMessageBox消息对话框
    QMessageBox *messageBox=new QMessageBox(this);
    //设置消息对话框的标题
    messageBox->setWindowTitle("消息对话框标题");
    //设置消息对话框中的文本
    messageBox->setText("这是消息对话框");
    //设置消息对话框中的图标，注意是内容中的图标，不是标题图标
    messageBox->setIcon(QMessageBox::Warning);
    //给消息对话框中设置指定按钮 ok按钮和保存按钮
    //这里的按钮都是实现了对应功能的
    messageBox->setStandardButtons(QMessageBox::Ok | QMessageBox::Save);
    //用户自定义增加按钮
    QPushButton *button=new QPushButton(messageBox);
    button->setText("自定义按钮");
    //添加到QMessageBox消息对话框中
    messageBox->addButton(button,QMessageBox::AcceptRole);
    //将消息对话框以模态形式进行展示 获取用户点击的对话框按钮的枚举值
    //获取Qt内置按钮的方法
    int value=messageBox->exec();
    if(value==QMessageBox::Ok)
    {
        qDebug()<<"OK";
    }
    else if(value==QMessageBox::Save)
    {
        qDebug()<<"Save";
    }
    //点击关闭时，自动释放此消息对话框对象
    messageBox->setAttribute(Qt::WA_DeleteOnClose);

//    //快速添加对话框
//    int pos=QMessageBox::warning(this,
//                                 "对话框标题",
//                                 "对话框文本内容",
//                                 QMessageBox::Ok | QMessageBox::Cancel);
//    if(pos==QMessageBox::Ok)
//    {
//        qDebug()<<"OK";
//    }
//    else if(pos==QMessageBox::Cancel)
//    {
//        qDebug()<<"Cancel";
//    }
}

